Categorías destacadas
programacion php    
Artículo
19
¡votar!

 Acceso a Bases de Datos [JDBC]


Insertar una Fila

El siguiente ejemplo de código es un programa completo que debería funcionar si tenemos un driver JDBC 2.0 que implemente una hoja de resultados desplazable.

Hay algunas cosas que podríamos observar sobre el código.

  1. El objeto ResultSet, uprs es actualizable, desplazable y sensible a los cambios hechos por ella y por otros. Aunque es TYPE_SCROLL_SENSITIVE, es posible que los métodos getXXX llamados después de las inserciones no recuperen los valores de la nuevas filas. Hay métodos en el interface DatabaseMetaData que nos dirán qué es visible y qué será detectado en los diferentes tipos de hojas de resultados para nuestro driver y nuestro controlador de base de datos.
  2. Después de haber introducido los valores de una fila con los métodos updateXXX, el código inserta la fila en la hoja de resultados y en la base de datos con el método insertRow. Luego, estándo todavía en la "fila de inserción", selecciona valores para otra nueva fila.
import java.sql.*;

public class InsertRows {
	public static void main(String args[]) {
		String url = "jdbc:mySubprotocol:myDataSource";
		Connection con;
		Statement stmt;
	try {
		Class.forName("myDriver.ClassName");
	} catch(java.lang.ClassNotFoundException e) {
		System.err.print("ClassNotFoundException: "); 
		System.err.println(e.getMessage());
	}
	try {
		con = DriverManager.getConnection(url, "myLogin", "myPassword");
		stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
					   ResultSet.CONCUR_UPDATABLE);				
		ResultSet uprs = stmt.executeQuery("SELECT * FROM COFFEES");
		uprs.moveToInsertRow();
		uprs.updateString("COF_NAME", "Kona");
		uprs.updateInt("SUP_ID", 150);
		uprs.updateFloat("PRICE", 10.99f);
		uprs.updateInt("SALES", 0);
		uprs.updateInt("TOTAL", 0);
		uprs.insertRow();
		uprs.updateString("COF_NAME", "Kona_Decaf");
		uprs.updateInt("SUP_ID", 150);
		uprs.updateFloat("PRICE", 11.99f);
		uprs.updateInt("SALES", 0);
		uprs.updateInt("TOTAL", 0);
		uprs.insertRow();
		uprs.beforeFirst();
		System.out.println("Table COFFEES after insertion:");
		while (uprs.next()) {
			String name = uprs.getString("COF_NAME");
			int id = uprs.getInt("SUP_ID");
			float price = uprs.getFloat("PRICE");
			int sales = uprs.getInt("SALES");
			int total = uprs.getInt("TOTAL");
			System.out.print(name + "   " + id + "   " + price);
			System.out.println("   " + sales + "   " + total);
		}

		uprs.close();
		stmt.close();
		con.close();	

	} catch(SQLException ex) {
		System.err.println("SQLException: " + ex.getMessage());
	}
}
Publicado por:
Ricard Lou Torrijos
Recomendar
a un amigo
Compartir
en redes
 
Comentarios
Gus_Unad dice:

Saludos Ricard. Muchas gracias por el exelente aporte era lo que estaba buscando. Si me pudieras facilitar la aplicacion completa de la que hablas aca te lo agradeceria muchisimo, ya mire el link pero ya no esta ha de ser por el tiempo que ha pasado. Nuevamente MIL GRACIAS

14/06/2010, a las 05:25:29
 
BBDD
Entornos de desarrollo
Entretenimiento
Herramientas
Internet
Lenguajes de script
Lenguajes imperativos
Lenguajes orientados a objeto
Otros lenguajes
Plataformas
Teoría
Varios
Copyright © 1998-2011 Programación en Castellano. Todos los derechos reservados
Datos legales | Politica de privacidad | Contacte con nosotros | Publicidad

Diseño web y desarrollo web. Un proyecto de los hermanos Carrero.

Red internet:
Juegos gratis | Servidores dedicados
Más internet: Password | Directorio de weblogs | Favicon